package com.arpa.ntocc.common.service;

import com.arpa.ntocc.common.domain.dto.RoleDTO;
import com.arpa.ntocc.common.domain.entity.Role;
import com.arpa.ntocc.common.domain.vo.RoleVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 用户角色 服务类
 * </p>
 *
 * @author LEO
 * @since 2019-12-05
 */
public interface IRoleService extends IService<Role> {

    /**
     * 保存
     * @param entity
     * @return
     */
    @Override
    boolean save(Role entity);

    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(Role entity);

    /**
     * 查询列表
     * @param roleDTO
     * @return
     */
    List<RoleVO> queryList(RoleDTO roleDTO);

    /**
     * 查询合计,包含总数
     * @param roleDTO
     * @return
     */
    RoleVO queryListSum(RoleDTO roleDTO);

    /**
     * 根据用户code查询角色
     * @param partyCode
     * @return
     */
    List<Role> listByPartyCode(String partyCode);

    /**
     * 批量删除用户角色
     * @param codes
     */
    void batchdel(List<String> codes);

    /**
     * 获取角色资源codelist
     * @param roleDTO
     * @return
     */
    List<String> resourceCodeList(RoleDTO roleDTO);

    /**
     * 修改角色权限
     * @param entity
     */
    void updateRoleResource(RoleDTO entity);
}
